"""4.
已知下面用字典定义的三个外星人，并且用列表存储这三个外星人。每一位外星人都存储了三门课成绩score，分别是语文、数学、英语。
alien_0={'color':'green','points':5, 'score':[60,70,80]}
alien_1={'color':'yellow','points':10 , 'score':[10,20,30]}
alien_2={'color':'red','points':15 , 'score':[66,77,88]}
aliens = [alien_0,alien_1,alien_2]
要求：
请按照英语成绩升序的格式输出外星人。
按照总分降序的格式输出外星人。
 输出格式如下：
    颜色：XX，点数：YY, 语文成绩:XX，数学成绩:XX，英语成绩:XX
"""
# 已知的外星人数据
alien_0 = {'color': 'green', 'points': 5, 'score': [60, 70, 80]}
alien_1 = {'color': 'yellow', 'points': 10, 'score': [10, 20, 30]}
alien_2 = {'color': 'red', 'points': 15, 'score': [66, 77, 88]}
aliens = [alien_0, alien_1, alien_2]

print("原始外星人数据:")
print("=" * 60)
for alien in aliens:
    print(f"颜色：{alien['color']}，点数：{alien['points']}，成绩：{alien['score']}")

# 1. 按照英语成绩升序排序
# 英语成绩是score列表中的第三个元素（索引为2）
aliens_sorted_by_english = sorted(aliens, key=lambda x: x['score'][2])

print("\n按照英语成绩升序排序:")
print("=" * 60)
for alien in aliens_sorted_by_english:
    chinese = alien['score'][0]  # 语文成绩
    math = alien['score'][1]     # 数学成绩
    english = alien['score'][2]  # 英语成绩
    print(f"颜色：{alien['color']}，点数：{alien['points']}，语文成绩:{chinese}，数学成绩:{math}，英语成绩:{english}")

# 2. 按照总分降序排序
# 计算每个外星人的总分
aliens_with_total = []
for alien in aliens:
    total_score = sum(alien['score'])
    alien_copy = alien.copy()  # 创建副本以避免修改原始数据
    alien_copy['total_score'] = total_score
    aliens_with_total.append(alien_copy)

# 按总分降序排序
aliens_sorted_by_total = sorted(aliens_with_total, key=lambda x: x['total_score'], reverse=True)

print("\n按照总分降序排序:")
print("=" * 60)
for alien in aliens_sorted_by_total:
    chinese = alien['score'][0]  # 语文成绩
    math = alien['score'][1]     # 数学成绩
    english = alien['score'][2]  # 英语成绩
    total = alien['total_score'] # 总分
    print(f"颜色：{alien['color']}，点数：{alien['points']}，语文成绩:{chinese}，数学成绩:{math}，英语成绩:{english}，总分:{total}")

